/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package BancoDados;

import Utilidades.UtilityDB;
import javax.servlet.http.HttpServletRequest;

/**
 * Created on : May 21, 2011, 5:33:34 PM
 * @author diogo
 *
 * SQL:
 * CREATE TABLE ClientesProfissional (
  SolicitacaoCodSolicitacao   int8 NOT NULL, 
  ProfissionalCodProfissional int4 NOT NULL DEFAULT 3, 
  Aceito                      bool, 
  Nivel                       int2 NOT NULL, 
  PRIMARY KEY (SolicitacaoCodSolicitacao, 
  ProfissionalCodProfissional));
 */
public class ClientesProfissional extends Dado implements Entidade{

	@Override
	public String getTableName() {
		return "ClientesProfissional";
	}

	@Override
	public String[] getPrimaryKey() {
		return new String[]{
					"SolicitacaoCodSolicitacao",
					"ProfissionalCodProfissional"
				};
	}

	@Override
	public String[] getColumns() {
		return new String[]{
					"Aceito",
					"Nivel"
				};
	}


	/**
	 * funcoa pra pegar todas as colunas. dessa entidade de dado
	 * ctrl c ctrl v
	 * @return
	 */
	public String[] getAllColumns(){
		String[] primaryKeys = this.getPrimaryKey();
		String[] columns = this.getColumns();
		String[] output = new String[primaryKeys.length + columns.length];

		System.arraycopy(primaryKeys,	0, output, 0,					primaryKeys.length);
		System.arraycopy(columns,		0, output, primaryKeys.length,	columns.length);

		return output;
	}

	public static boolean Inserir(
			int SolicitacaoCodSolicitacao,
			int ProfissionalCodProfissional,
			String Aceito,
			int Nivel
			) {


		ClientesProfissional cp = new ClientesProfissional();
		String[] colunas = cp.getAllColumns();
		int x = 0;

		String SQL = UtilityDB.CreateInsert(cp.getTableName(),
				colunas[x++], SolicitacaoCodSolicitacao,
				colunas[x++], ProfissionalCodProfissional,
				colunas[x++], Aceito,
				colunas[x++], Nivel);

		int linhasAfetadas = c.cadastrar(SQL);
		return linhasAfetadas > 0;
	}

	public static boolean Inserir(HttpServletRequest request) {
		String[] colunas = new ClientesProfissional().getAllColumns();
		int x=0;

		int ProfissionalCodProfissional =	Integer.parseInt(request.getParameter(colunas[x++]));
		int ProfissaoCodProfissao =			Integer.parseInt(request.getParameter(colunas[x++]));
		String Aceito =						request.getParameter(colunas[x++]);
		int Nivel =							Integer.parseInt(request.getParameter(colunas[x++]));

		return Inserir(ProfissionalCodProfissional, ProfissaoCodProfissao, Aceito, Nivel);
	}
}
